package com.hjl.dao.bill;

import com.hjl.entity.Bill;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface BillMapper {

    /**
     *  商品表和供应商表连接查询
     * @return
     */
    public List<Bill> getListInfoById();

    public List<Bill> getListInfoByNameIdIs(@Param("productName") String productName, @Param("id") Integer id, @Param("isPayment") Integer isPayment);

    /**
     *  使用动态SQL—if来改造订单表的操作
     * @return
     */
    public List<Bill> getListInfoById3(@Param("productName")String productName,@Param("id")Integer providerId,@Param("isPayment")Integer isPayment);


    /**
     *  使用动态 SQL-foreach 获取指定供应商列表下的订单列表
     * @param
     * @return
     */
    public List<Bill> getListInfoById4(List<Integer> providerId);


    /**
     *  使用动态 SQL-foreach 获取多参数下的订单列表
     * @param map
     * @return
     */
    public List<Bill> getListInfoById5(Map<String,Object> map);


    /**
     *  分页查询订单列表信息
     * @param currentPageo
     * @param pageSize
     * @return
     */
    public List<Bill> getListInfo(@Param("from")Integer currentPageo,@Param("pageSize")Integer pageSize);


    /**
     *  在超市订单系统中实现订单表的查询操作
     * @param productName   商品名称
     * @param id    供应商id
     * @param isPayment 是否付款
     * @return
     */
    public List<Bill> selectListInfos(@Param("productName")String productName,@Param("id")Integer id,@Param("isPayment")Integer isPayment);


    /**
     *  实现订单表的添加操作
     * @param bill
     * @return
     */
    public int addBillInfos(Bill bill);


    /**
     *  实现根据订单id修改订单信息的操作
     * @param bill
     * @return
     */
    public int updateBillInfos(Bill bill);


    /**
     *  实现根据订单 id 删除订单信息
     * @param id
     * @return
     */
    public int deleteBillInfo(@Param("id")Integer id);
}
